﻿// Apache-2.0 License
// Copyright (c) 2021-2022 SuperJeff
// 微信:15906588664  QQ:1024489

using Admin.Net.InformationPlatform.Entity;

namespace Admin.Net.InformationPlatform.Service.SRM.Dto
{
    /// <summary>
    /// 采购单清单
    /// </summary>
    public class GetPurchaseOrderOutput : PurchaseOrder
    {
        public string Pmdlstus { get; set; }


    }
    /// <summary>
    /// 采购出入库记录
    /// </summary>
    public class GetStockInOutRecordPagedListOutput : PurchaseStockInOutRecord
    {

    }
    /// <summary>
    /// 工单明细信息
    /// </summary>

    public class GetWorkOrderInformationOutput
    {
        /// <summary>
        /// 项次
        /// </summary>
        public long Seq { get; set; }
        /// <summary>
        /// 料号
        /// </summary>
        public string ProductNo { get; set; } = string.Empty;
        /// <summary>
        /// 品名
        /// </summary>
        public string ProductName { get; set; } = string.Empty;
        /// <summary>
        /// 规格
        /// </summary>
        public string ProductSpecifications { get; set; } = string.Empty;
        /// <summary>
        /// 倒扣料
        /// </summary>
        /// <value></value>
        public string RecoiledMaterial { get; set; }
        /// <summary>
        /// 应发数量
        /// </summary>
        public decimal? QuantityToBeShipped { get; set; }
        /// <summary>
        /// 已发数量
        /// </summary>
        public decimal? QuantityIssued { get; set; }
        /// <summary>
        /// 未发数量
        /// </summary>
        public decimal? QuantityNotIssued
        {
            get
            {
                return QuantityToBeShipped - QuantityIssued;
            }
        }
        /// <summary>
        /// 单位名称
        /// </summary>
        public string UnitName { get; set; } = string.Empty;
        /// <summary>
        /// 库位
        /// </summary>
        public string WarehouseLocation { get; set; } = string.Empty;


    }
    /// <summary>
    /// 获取采购清单带条码
    /// </summary>
    public class GetPurchaseOrderWithBarcodePagedListOuutpu : PurchaseOrder
    {
        /// <summary>
        /// 条码在制数
        /// </summary>
        public decimal BarcodeInProcess { get; set; }
        /// <summary>
        /// 条码可打印数量
        /// </summary>
        public decimal BarcodePrintableQuantity { get; set; }



    }
    /// <summary>
    /// 物料库存信息
    /// </summary>
    public class GetInventoryQuantityListOutput
    {

        /// <summary>
        /// 库位
        /// </summary>
        public string WarehouseLocation { get; set; } = string.Empty;
        /// <summary>
        /// 料号
        /// </summary>
        public string ProductNo { get; set; } = string.Empty;
        /// <summary>
        /// 品名
        /// </summary>
        public string ProductName { get; set; } = string.Empty;
        /// <summary>
        /// 规格
        /// </summary>
        public string ProductSpecifications { get; set; } = string.Empty;
        /// <summary>
        /// 库存数量
        /// </summary>
        /// <value></value>
        public decimal InventoryQuantity { get; set; }
        /// <summary>
        /// 单位名称
        /// </summary>
        public string UnitName { get; set; } = string.Empty;
    }

    /// <summary>
    /// 获取采购清单带条码
    /// </summary>
    public class GetPurchaseOrderBarcodeListPagedListOutput
    {
        /// <summary>
        /// 条码编号
        /// </summary>
        public string BarcodeNumber { get; set; } = string.Empty;

        /// <summary>
        /// 条码状态码
        /// </summary>
        public string BarcodeStatusCode { get; set; } = string.Empty;

        /// <summary>
        /// 条码数量
        /// </summary>
        public decimal BarcodeQuantity { get; set; }
        /// <summary>
        /// 来源单据单号          
        /// </summary>
        public string SourceDocNo { get; set; } = string.Empty;

        /// <summary>
        /// 来源单据单号项次         
        /// </summary>
        public string SourceDocSeq { get; set; } = string.Empty;
        /// <summary>
        /// 产品编号
        /// </summary>
        public string ProductNumber { get; set; } = string.Empty;
        /// <summary>
        /// 产品名称
        /// </summary>
        public string ProductName { get; set; } = string.Empty;
        /// <summary>
        /// 产品规格
        /// </summary>
        public string ProductSpecifications { get; set; } = string.Empty;
        /// <summary>
        /// 单位
        /// </summary>
        public string Unit { get; set; } = string.Empty;
        /// <summary>
        /// 备注
        /// </summary>
        public string Remarks { get; set; } = string.Empty;
        /// <summary>
        /// 条码创建日期
        /// </summary>
        public DateTime? BarcodeCreationDate { get; set; }

        /// <summary>
        /// 供应商生产日期
        /// </summary>
        public DateTime? SuppliersProductionDate { get; set; }
        /// <summary>
        /// 库位信息
        /// </summary>
        public string? WarehouseLocation { get; set; }


    }
    /// <summary>
    /// 获取采购清单带条码
    /// </summary>
    public class GetPurchaseOrderWithBarcodeOutput : PurchaseOrder
    {
        /// <summary>
        /// 条码在制数
        /// </summary>
        public decimal BarcodeInProcess { get; set; }
        /// <summary>
        /// 条码可打印数量
        /// </summary>
        public decimal? BarcodePrintableQuantity { get; set; }



    }
    /// <summary>
    /// 新增条码信息
    /// </summary>
    public class AddPurchaseOrderBarcodeOutput
    {
        /// <summary>
        /// 条码编号
        /// </summary>
        public string BarcodeNumber { get; set; } = string.Empty;

        /// <summary>
        /// 条码数量
        /// </summary>
        public decimal BarcodeQuantity { get; set; }

        /// <summary>
        /// 来源单据单号          
        /// </summary>
        public string SourceDocNo { get; set; } = string.Empty;

        /// <summary>
        /// 来源单据单号项次         
        /// </summary>
        public string SourceDocSeq { get; set; } = string.Empty;
        /// <summary>
        /// 产品编号
        /// </summary>
        public string ProductNumber { get; set; } = string.Empty;
        /// <summary>
        /// 产品名称
        /// </summary>
        public string ProductName { get; set; } = string.Empty;
        /// <summary>
        /// 产品规格
        /// </summary>
        public string ProductSpecifications { get; set; } = string.Empty;
        /// <summary>
        /// 单位
        /// </summary>
        public string Unit { get; set; } = string.Empty;
        /// <summary>
        /// 备注
        /// </summary>
        public string Remarks { get; set; } = string.Empty;
        /// <summary>
        /// 条码创建日期
        /// </summary>
        public DateTime? BarcodeCreationDate { get; set; }

        /// <summary>
        /// 供应商生产日期
        /// </summary>
        public DateTime? SuppliersProductionDate { get; set; }
        /// <summary>
        /// 库位信息
        /// </summary>
        public string? WarehouseLocation { get; set; }

    }
    /// <summary>
    /// 获取客户评分
    /// </summary>
    public class GetCustomerRatingsOutput
    {
        /// <summary>
        /// 类别
        /// </summary>
        public string Category { get; set; } = string.Empty;
        /// <summary>
        /// 供应商代号
        /// </summary>
        public string SupplierCode { get; set; } = string.Empty;
        /// <summary>
        /// 供应商
        /// </summary>
        public string Supplier { get; set; } = string.Empty;
        /// <summary>
        /// 年月
        /// </summary>
        public string YearsMonth { get; set; } = string.Empty;
        /// <summary>
        /// 应交批次
        /// </summary>
        public string BatchToBeDelivered { get; set; } = string.Empty;
        /// <summary>
        /// 及时入库
        /// </summary>
        public string TimelyWarehousing { get; set; } = string.Empty;
        /// <summary>
        /// 达成率得分
        /// </summary>
        public string AchievementRateScore { get; set; } = string.Empty;
        /// <summary>
        /// 实际平均交付周期
        /// </summary>
        public string ActualAverageLeadTime { get; set; } = string.Empty;
        /// <summary>
        /// 理论平均交付周期
        /// </summary>
        public string TheoreticalAverageLeadTime { get; set; } = string.Empty;
        /// <summary>
        /// 平均周期得分
        /// </summary>
        public string AverageCycleScore { get; set; } = string.Empty;
        /// <summary>
        /// 采购总金额
        /// </summary>
        public string TotalPurchaseAmount { get; set; } = string.Empty;
        /// <summary>
        /// 产值
        /// </summary>
        public string OutputValue { get; set; } = string.Empty;
        /// <summary>
        /// 送货单
        /// </summary>
        public string DeliveryNote { get; set; } = string.Empty;
        /// <summary>
        /// 订单回传
        /// </summary>
        public string OrderReturn { get; set; } = string.Empty;
        /// <summary>
        /// 是否可持续供应
        /// </summary>
        public string WhetherTheSupplyIsSustainable { get; set; } = string.Empty;
        /// <summary>
        /// 得分
        /// </summary>
        public string Score { get; set; } = string.Empty;
    }
    /// <summary>
    /// 产品文件信息
    /// </summary>
    public class GetProductFileNameListOutput
    {

        /// <summary>
        /// 产品编号
        /// </summary>
        public string ProductNumber { get; set; } = string.Empty;
        /// <summary>
        /// key值
        /// </summary>
        public string Key { get; set; } = string.Empty;
        /// <summary>
        /// 文件名称
        /// </summary>
        public string FileName { get; set; }
        /// <summary>
        /// 文件类型
        /// </summary>
        public string FileType { get; set; }
    }
    /// <summary>
    /// 产品文件信息
    /// </summary>
    public class GetProductFileOutput
    {
        /// <summary>
        /// 文件信息
        /// </summary>
        public byte[] FileByte { get; set; }
    }
}